package com.ls.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ls.server.domain.ChatMessage;
import com.ls.server.dto.ChatMessageDTO;
import com.ls.server.dto.ChatQueryDTO;
import com.ls.server.vo.ChatMessageVO;
import com.ls.server.vo.PageResult;

import java.util.List;

/**
 * 聊天消息Service接口
 */
public interface ChatMessageService extends IService<ChatMessage> {
    
    /**
     * 获取会话的消息列表
     *
     * @param sessionId 会话ID
     * @return 消息列表
     */
    List<ChatMessageVO> listSessionMessages(String sessionId);
    
    /**
     * 发送消息
     *
     * @param dto 消息信息
     * @return 消息ID
     */
    Long sendMessage(ChatMessageDTO dto);
    
    /**
     * 获取用户最近的消息
     *
     * @param userId 用户ID
     * @param limit 消息数量
     * @return 消息列表
     */
    List<ChatMessageVO> listRecentUserMessages(Long userId, Integer limit);

    /**
     * 分页查询聊天消息
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    PageResult<ChatMessageVO> page(ChatQueryDTO queryDTO);

    /**
     * 获取AI回复
     * @param sessionId 会话ID
     * @param prompt 用户输入
     * @param modelId 模型ID
     * @return AI回复内容
     */
    String getAiResponse(String sessionId, String prompt, Long modelId);
} 